From: Ewan Mellor Date: Mon, 25 Dec 2006 16:56:46 +0000 (+0000) Subject: Fix plumbing for PIF calls. Change xen_api_success to convert None to the X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15422^2~156 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=0d46f85d6ce1bfa77c467a66a3d17c009d2ff9b3;p=xen.git Fix plumbing for PIF calls. Change xen_api_success to convert None to the empty string, to make it easier to write setters. Signed-off-by: Ewan Mellor --- diff --git a/tools/python/xen/xend/XendAPI.py b/tools/python/xen/xend/XendAPI.py index 9fbfbf1f8d..1ca52aa5d4 100644 --- a/tools/python/xen/xend/XendAPI.py +++ b/tools/python/xen/xend/XendAPI.py @@ -43,7 +43,11 @@ argcounts = {} def xen_api_success(value): """Wraps a return value in XenAPI format.""" - return {"Status": "Success", "Value": stringify(value)} + if value is None: + s = '' + else: + s = stringify(value) + return {"Status": "Success", "Value": s} def xen_api_success_void(): """Return success, but caller expects no return value.""" @@ -515,59 +519,49 @@ class XendAPI: PIF_attr_inst = PIF_attr_rw + def _get_PIF(self, ref): + return XendNode.instance().pifs[ref] + # object methods - def PIF_get_record(self, session, pif_ref): - node = XendNode.instance() - return xen_api_success(node.pifs[pif_ref].get_record()) + def PIF_get_record(self, _, ref): + return xen_api_success(self._get_PIF(ref).get_record()) - def PIF_get_all(self, session): + def PIF_get_all(self, _): return xen_api_success(XendNode.instance().pifs.keys()) - def PIF_set_name(self, session, pif_ref, name): - node = XendNode.instance() - pif = node.pifs.get(pif_ref) - if pif: - pif.set_name(name) - return xen_api_void() - - def PIF_set_mac(self, session, pif_ref, mac): - node = XendNode.instance() - pif = node.pifs.get(pif_ref) - if pif: - pif.set_mac(mac) - return xen_api_void() + def PIF_get_name(self, session, ref): + return xen_api_success(self._get_PIF(ref).name) - def PIF_set_mtu(self, session, pif_ref, mtu): - node = XendNode.instance() - pif = node.pifs.get(pif_ref) - if pif: - pif.set_mtu(mtu) - return xen_api_void() + def PIF_get_network(self, session, ref): + return xen_api_success(self._get_PIF(ref).network.uuid) - def PIF_get_mac(self, session, pif_ref): - node = XendNode.instance() - return xen_api_success(node.pifs[pif_ref].get_mac()) + def PIF_get_host(self, session, ref): + return xen_api_success(self._get_PIF(ref).host.uuid) - def PIF_get_mtu(self, session, pif_ref): - node = XendNode.instance() - return xen_api_success(node.pifs[pif_ref].get_mtu()) + def PIF_get_MAC(self, session, ref): + return xen_api_success(self._get_PIF(ref).mac) - def PIF_get_vlan(self, session, pif_ref): - node = XendNode.instance() - return xen_api_success(node.pifs[pif_ref].get_vlan()) + def PIF_get_MTU(self, session, ref): + return xen_api_success(self._get_PIF(ref).mtu) - def PIF_get_name(self, session, pif_ref): - node = XendNode.instance() - return xen_api_success(node.pifs[pif_ref].get_name()) + def PIF_get_VLAN(self, session, ref): + return xen_api_success(self._get_PIF(ref).vlan) - def PIF_get_io_read_kbs(self, session, pif_ref): - node = XendNode.instance() - return xen_api_success(node.pifs[pif_ref].get_io_read_kbs()) + def PIF_get_io_read_kbs(self, session, ref): + return xen_api_success(self._get_PIF(ref).get_io_read_kbs()) - def PIF_get_io_write_kbs(self, session, pif_ref): - node = XendNode.instance() - return xen_api_success(node.pifs[pif_ref].get_io_write_kbs()) + def PIF_get_io_write_kbs(self, session, ref): + return xen_api_success(self._get_PIF(ref).get_io_write_kbs()) + def PIF_set_name(self, _, ref, name): + return xen_api_success(self._get_PIF(ref).set_name(name)) + + def PIF_set_MAC(self, session, ref, mac): + return xen_api_success(self._get_PIF(ref).set_mac(name)) + + def PIF_set_MTU(self, session, ref, mtu): + return xen_api_success(self._get_PIF(ref).set_mtu(name)) + # Xen API: Class VM # ----------------------------------------------------------------